package br.com.rfqx.account;

import java.io.Serializable;

import javax.persistence.Embeddable;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;

import lombok.Data;


@Embeddable
@Data
public class Address implements Serializable {

	private static final long serialVersionUID = 1L;

	private String address;
    private String city;
    private String country;
    private String province;
    private String state;

    @Enumerated(EnumType.STRING)
    private AddressType addressType;
    
    private String zipCode;

	public Address() {
	}

	public Address withAddress( String address) {
		this.address = address;
		return this;
	}

	public Address withCity( String city) {
		this.city = city;
		return this;
	}

	public Address withCountry( String country) {
		this.country = country;
		return this;
	}
	
	public Address withProvince( String province) {
		this.province = province;
		return this;
	}

	public Address withZipCode( String zipCode) {
		this.zipCode = zipCode;
		return this;
	}

	public Address withState( String state ) {
		this.state = state;
		return this;
	}	
	
	public Address withAddressType( AddressType addressType ) {
		this.addressType = addressType;
		return this;
	}	

}
